package com.hhxy.model.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * @author ghp
 * @date 2023/5/4
 * @title
 * @description
 */
@ApiModel(value = "新增菜单信息传输对象")
@Data
@NoArgsConstructor
@AllArgsConstructor
public class AddMenuDto {
    /**
     * 菜单id
     */
    @ApiModelProperty(value = "菜单id")
    private Long id;
    /**
     * 菜单名
     */
    @ApiModelProperty(value = "菜单名")
    @NotBlank(message = "菜单名称不能为空")
    private String menuName;
    /**
     * 菜单类型
     */
    @ApiModelProperty(value = "菜单类型")
    @NotBlank(message = "菜单类型不能为空")
    private String menuType;
    /**
     * 菜单排序
     */
    @ApiModelProperty(value = "菜单排序", notes = "值越小优先级越高", dataType = "int")
    @NotNull(message = "排序不能为空")
    private Integer orderNum;
    /**
     * 菜单父id
     */
    @ApiModelProperty(value = "菜单父id", notes = "-1表示根目录", dataType = "Long")
    private Long parentId;
    /**
     * 路由路径
     */
    @ApiModelProperty(value = "路由路径")
    private String path;
    /**
     * 组件路径
     */
    @ApiModelProperty(value = "组件路径")
    private String component;
    /**
     * 菜单图片
     */
    @ApiModelProperty(value = "菜单图片")
    private String icon;
    /**
     * 权限字符
     */
    @ApiModelProperty(value = "权限字符")
    private String perms;
    /**
     * 菜单是否禁用 0-正常 1-禁用
     */
    @ApiModelProperty(value = "菜单是否禁用", notes = "0-正常 1-禁用")
    private String status;
    /**
     * 菜单是否隐藏 0-显示 1-隐藏
     */
    @ApiModelProperty(value = "菜单是否隐藏", notes = "0-显示 1-隐藏")
    private String visible;


}
